package ace.module.captcha.core.impl.manager;

import ace.cmp.data.spring.data.jdbc.querydsl.rsql.core.manager.DtoManager;
import ace.module.captcha.api.model.dto.CaptchaApplicationDto;
import ace.module.captcha.core.impl.dao.entity.CaptchaApplication;

/**
 * 图形验证码应用 spring data jdbc querydsl rsql manager.
 *
 * @author Caspar
 */
public interface CaptchaApplicationManager extends DtoManager<CaptchaApplication, Long, CaptchaApplicationDto> {

  CaptchaApplication getById(Long id);

  CaptchaApplication getByIdAndCheckAll(Long id);

  CaptchaApplication getSystemDefault();

  CaptchaApplication getByKey(String key);

  CaptchaApplicationDto getDtoByKey(String key);

  CaptchaApplicationDto getDtoAndCheckNotNullAdminApplication();

  CaptchaApplication getAdminApplication();
}
